// 双指针同时跑，但是因为2个链表长度不一样。如果长度一样很容易就能找到相交点。
// 可以使得2个链表加上彼此，这样就能保证链表长度一样了，即同时遍历，能找到相交点。

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */

/**
 * @param {ListNode} headA
 * @param {ListNode} headB
 * @return {ListNode}
 */
var getIntersectionNode = function (headA, headB) {
    var h1 = headA;
    var h2 = headB;

    while (h1 !== h2) { // 如果相交、或者没有相交
        h1 = (h1 === null) ? headB : h1.next; // h1结束 接入对方
        h2 = (h2 === null) ? headA : h2.next;  // h2结束 接入对方
    }

    return h1;
};
